'use strict'
process.chdir(__dirname)

const titbit = require('titbit')
const fs = require('fs')
try{
    fs.accessSync('./images')
}catch(err){
    fs.mkdirSync('./images')
}
const app = new titbit({
    debug:true,
})

app.get('/',async c =>{
    c.send('ok')
})

app.get('/upload',async c =>{
    //c.helper是助手函数模块，其中有对stream.pipe的封装
    //c.reply 是响应对象，http/1.1中指向response,http/2中指向stream。
    await c.helper.pipe('./upload.html',c.reply)
})

app.post('/upload',async c=>{
    let f = c.getFile('file');
    if(!f){
        return c.status(400).send('file not found')
    }
//生成唯一文件名
    let fname = c.helper.makeName(f.filename)
try{
    await c.moveFile(f,`./images/${fname}`)
    c.send(fname)
}catch(err){
    c.status(500).send('failed')
}
    
})
//JS无需加分号，谁用谁知道，有时也得加分号，括号开头很重要
// ;(async()=>{})();
app.run(1234)